(這部分有修正,保留原來的方式,正確的方式請參考本篇最下方!!)
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
'判斷資料列才做事情
If e.Row.RowType = DataControlRowType.DataRow Then
'取得LinkButton物件
Dim lb As LinkButton = e.Row.Cells(0).FindControl("LinkButton1")
'判斷有取得物件,才做是情
If lb IsNot Nothing Then
'取得LinkButton的ClientID
Dim lbClientId As String = lb.ClientID
'將底線【_】置換為【$】
lbClientId = Replace(lbClientId, "_", "$")
'設定要加上的JavaScript
Dim tScript As String = ""
tScript = "__doPostBack('" + lbClientId + "','')"
'把JavaScript加在Row的【onclick】屬性裡面
e.Row.Attributes.Add("onclick", tScript)
'增加變換手指游標,以及背景顏色
e.Row.Attributes.Add("onmouseover", "this.style.cursor='hand';this.style.backgroundColor='yellow';")
e.Row.Attributes.Add("onmouseout", "this.style.cursor='';this.style.backgroundColor='';")
End If
End If
End Sub
讓【選擇】消失
運作看看,果然是可以了。不過,還有個問題,如果想要讓LinkButton那個【選擇】的字不見,怎麼做??這個當然不能把LinkButton刪除掉,因為我們主要還是透過LinkButton來達到這樣的效果,方式很簡單,讓LinkButton的【選擇】變成空白即可。
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="Select"> </asp:LinkButton>
那麼如果連那個欄位(看起來空的TempleteField)也不要呢,也可以,首先要挑選其中一個欄位轉為TempleteField,例如我選擇EmployeeID,然後把剛剛的LinkButton剪下→貼上到EmployeeID裡面的ItemTemplete就可以囉
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="EmployeeID" DataSourceID="SqlDataSource1"
EmptyDataText="沒有資料錄可顯示。">
<Columns>
<asp:TemplateField HeaderText="EmployeeID" SortExpression="EmployeeID">
<EditItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("EmployeeID") %>'></asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("EmployeeID") %>'></asp:Label>
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="Select"> </asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="LastName" HeaderText="LastName"
SortExpression="LastName" />
<asp:BoundField DataField="FirstName" HeaderText="FirstName"
SortExpression="FirstName" />
</Columns>
</asp:GridView>
這樣的技巧,其實可以運用在很多地方,讓我們的程式可以設計的更靈活些。提供大家參考